package org.dromara.finance.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.dromara.finance.domain.PurchaseInvoice;
import org.dromara.finance.domain.bo.PurchaseInvoiceBo;
import org.dromara.finance.domain.report.PurchaseInvoiceDetailVO;
import org.dromara.finance.domain.vo.PurchaseInvoiceListVo;
import org.dromara.finance.domain.vo.PurchaseInvoiceVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;

import java.util.List;

/**
 * 采购发票Mapper接口
 *
 * @author xxy
 * @date 2025-08-19
 */
public interface PurchaseInvoiceMapper extends BaseMapperPlus<PurchaseInvoice, PurchaseInvoiceVo> {

    Page<PurchaseInvoiceVo> selectInvoiceList(Page<?> page, @Param("bo") PurchaseInvoiceBo bo);

    PurchaseInvoiceVo selectVoById(Long id);

    List<PurchaseInvoiceDetailVO> selectByPurchaseContractId(Long id);

    List<PurchaseInvoiceListVo> selectInvoiceListByIds(List<Long> ids);
}
